﻿



using System; 
using System.Collections;
using System.Collections.Generic ;
using System.Runtime.Serialization;

namespace UFIDA.U9.Cust.SH.SHFastShipSV
{
	/// <summary>
	/// 快速出货单头 DTO :自定义的数据传输类型 
	/// 
	/// </summary>
	[DataContract(Name = "UFIDA.U9.Cust.SH.SHFastShipSV.FastShipDTOData", Namespace = "http://www.UFIDA.org/EntityData",IsReference=true)]
	[Serializable]
	[KnownType("GetKnownTypes")]
	public partial class FastShipDTOData : UFSoft.UBF.Business.DataTransObjectBase
	{
		public static IList<Type> GetKnownTypes()
        {
            IList<Type> knownTypes = new List<Type>();
            
            knownTypes.Add(typeof(UFIDA.U9.SM.Ship.ShipDocTypeData));                          
            knownTypes.Add(typeof(UFIDA.U9.CBO.SCM.Customer.CustomerData));                          
            knownTypes.Add(typeof(UFIDA.U9.CBO.SCM.Warehouse.WarehouseData));                          
            knownTypes.Add(typeof(UFIDA.U9.CBO.SCM.Customer.CustomerData));             
            knownTypes.Add(typeof(UFIDA.U9.Base.FlexField.ValueSet.DefineValueData));                          
            knownTypes.Add(typeof(UFIDA.U9.Base.Organization.OrganizationData));             
            knownTypes.Add(typeof(UFIDA.U9.CBO.SCM.Warehouse.WarehouseData));                          
            knownTypes.Add(typeof(UFIDA.U9.CBO.HR.Department.DepartmentData));                                                                              
            knownTypes.Add(typeof(List<UFIDA.U9.Cust.SH.SHFastShipSV.FastShipLineDTOData>)); 
            knownTypes.Add(typeof(UFSoft.UBF.Util.Data.MultiLangDataDict));
            return knownTypes;
        }
		/// <summary>
		/// Default Constructor
		/// </summary>
		public FastShipDTOData()
		{
			initData();
		}
		private void initData()
		{
		
		
		
		
		
					IsZY=false; 
		
		
					DocState= -1; 
				
		
		
		
					CreditNoCheck=false; 
		
					GSCheck=false; 
					KHCheck=false; 
		
		

			//调用默认值初始化服务进行配置方式初始化
			UFSoft.UBF.Service.DTOService.InitConfigDefault(this);
		}
		[System.Runtime.Serialization.OnDeserializing]
        internal void OnDeserializing(System.Runtime.Serialization.StreamingContext context)
        {
			 initData();
        }
		#region Do SerializeKey -ForDTODataType
		//只为处理集合型EntityKey。原因集合型EntityKey由于使用臫的集合对象，无法实现数据共享.-UBF专用.
		public void DoSerializeKeyList(IDictionary dict)
		{
			if (dict == null ) dict = new Hashtable() ;
			if (dict[this] != null)
				return ;
			dict[this] = this;
	        	        	        	        	        	        	        	        	        	        	        	        	        	        	        	        	        	        	        			if (this.Lines!=null)
			{
				foreach(UFIDA.U9.Cust.SH.SHFastShipSV.FastShipLineDTOData objdata in this.Lines)
				{
					objdata.DoSerializeKeyList(dict);
				}
			}
			
		}
		#endregion 
		/// <summary>
		/// Constructor Full Argument
		/// </summary>
		public FastShipDTOData(  UFIDA.U9.SM.Ship.ShipDocTypeData docType  , System.String docNo  , UFIDA.U9.CBO.SCM.Customer.CustomerData customer  , System.DateTime docDate  , UFIDA.U9.CBO.SCM.Warehouse.WarehouseData saleWH  , System.Boolean isZY  , UFIDA.U9.CBO.SCM.Customer.CustomerData zYCustomer  , UFIDA.U9.Base.FlexField.ValueSet.DefineValueData saleType  , System.Int32 docState  , UFIDA.U9.Base.Organization.OrganizationData org  , UFIDA.U9.CBO.SCM.Warehouse.WarehouseData wH  , System.String memo  , UFIDA.U9.CBO.HR.Department.DepartmentData dept  , System.Boolean creditNoCheck  , System.String mDDocNo  , System.Boolean gSCheck  , System.Boolean kHCheck  , System.String mDMemo  , List<UFIDA.U9.Cust.SH.SHFastShipSV.FastShipLineDTOData> lines  )
		{
			initData();
			this.DocType = docType;
			this.DocNo = docNo;
			this.Customer = customer;
			this.DocDate = docDate;
			this.SaleWH = saleWH;
			this.IsZY = isZY;
			this.ZYCustomer = zYCustomer;
			this.SaleType = saleType;
			this.DocState = docState;
			this.Org = org;
			this.WH = wH;
			this.Memo = memo;
			this.Dept = dept;
			this.CreditNoCheck = creditNoCheck;
			this.MDDocNo = mDDocNo;
			this.GSCheck = gSCheck;
			this.KHCheck = kHCheck;
			this.MDMemo = mDMemo;
			this.Lines = lines;
		}
		#region System Fields 
		//--系统字段,目前没有.EntityData上有相应的字段,用于保存相关的实体状态信息,DTO上没有状态信息.	
		#endregion
		
		#region DTO Properties 
	
		

		/// <summary>
		/// 单据类型
		/// 快速出货单头.Misc.单据类型
		/// </summary>
		[DataMember(IsRequired=false)]
		private UFIDA.U9.SM.Ship.ShipDocTypeData m_docType ;
		public UFIDA.U9.SM.Ship.ShipDocTypeData DocType
		{
			get	
			{	
				return m_docType ;
			}
			set	
			{	
				m_docType = value ;	
			}
		}
			
		

		/// <summary>
		/// 单号
		/// 快速出货单头.Misc.单号
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.String m_docNo ;
		public System.String DocNo
		{
			get	
			{	
				return m_docNo ;
			}
			set	
			{	
				m_docNo = value ;	
			}
		}
			
		

		/// <summary>
		/// 客户
		/// 快速出货单头.Misc.客户
		/// </summary>
		[DataMember(IsRequired=false)]
		private UFIDA.U9.CBO.SCM.Customer.CustomerData m_customer ;
		public UFIDA.U9.CBO.SCM.Customer.CustomerData Customer
		{
			get	
			{	
				return m_customer ;
			}
			set	
			{	
				m_customer = value ;	
			}
		}
			
		

		/// <summary>
		/// 单据日期
		/// 快速出货单头.Misc.单据日期
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.DateTime m_docDate ;
		public System.DateTime DocDate
		{
			get	
			{	
				return m_docDate ;
			}
			set	
			{	
				m_docDate = value ;	
			}
		}
			
		

		/// <summary>
		/// 总经销仓库
		/// 快速出货单头.Misc.总经销仓库
		/// </summary>
		[DataMember(IsRequired=false)]
		private UFIDA.U9.CBO.SCM.Warehouse.WarehouseData m_saleWH ;
		public UFIDA.U9.CBO.SCM.Warehouse.WarehouseData SaleWH
		{
			get	
			{	
				return m_saleWH ;
			}
			set	
			{	
				m_saleWH = value ;	
			}
		}
			
		

		/// <summary>
		/// 是否直运
		/// 快速出货单头.Misc.是否直运
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Boolean m_isZY ;
		public System.Boolean IsZY
		{
			get	
			{	
				return m_isZY ;
			}
			set	
			{	
				m_isZY = value ;	
			}
		}
			
		

		/// <summary>
		/// 直运客户
		/// 快速出货单头.Misc.直运客户
		/// </summary>
		[DataMember(IsRequired=false)]
		private UFIDA.U9.CBO.SCM.Customer.CustomerData m_zYCustomer ;
		public UFIDA.U9.CBO.SCM.Customer.CustomerData ZYCustomer
		{
			get	
			{	
				return m_zYCustomer ;
			}
			set	
			{	
				m_zYCustomer = value ;	
			}
		}
			
		

		/// <summary>
		/// 销售业务类型
		/// 快速出货单头.Misc.销售业务类型
		/// </summary>
		[DataMember(IsRequired=false)]
		private UFIDA.U9.Base.FlexField.ValueSet.DefineValueData m_saleType ;
		public UFIDA.U9.Base.FlexField.ValueSet.DefineValueData SaleType
		{
			get	
			{	
				return m_saleType ;
			}
			set	
			{	
				m_saleType = value ;	
			}
		}
			
		

		/// <summary>
		/// 单据状态
		/// 快速出货单头.Misc.单据状态
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Int32 m_docState ;
		public System.Int32 DocState
		{
			get	
			{	
				return m_docState ;
			}
			set	
			{	
				m_docState = value ;	
			}
		}
			
		

		/// <summary>
		/// 运营组织
		/// 快速出货单头.Misc.运营组织
		/// </summary>
		[DataMember(IsRequired=false)]
		private UFIDA.U9.Base.Organization.OrganizationData m_org ;
		public UFIDA.U9.Base.Organization.OrganizationData Org
		{
			get	
			{	
				return m_org ;
			}
			set	
			{	
				m_org = value ;	
			}
		}
			
		

		/// <summary>
		/// 仓库
		/// 快速出货单头.Misc.仓库
		/// </summary>
		[DataMember(IsRequired=false)]
		private UFIDA.U9.CBO.SCM.Warehouse.WarehouseData m_wH ;
		public UFIDA.U9.CBO.SCM.Warehouse.WarehouseData WH
		{
			get	
			{	
				return m_wH ;
			}
			set	
			{	
				m_wH = value ;	
			}
		}
			
		

		/// <summary>
		/// 备注
		/// 快速出货单头.Misc.备注
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.String m_memo ;
		public System.String Memo
		{
			get	
			{	
				return m_memo ;
			}
			set	
			{	
				m_memo = value ;	
			}
		}
			
		

		/// <summary>
		/// 部门
		/// 快速出货单头.Misc.部门
		/// </summary>
		[DataMember(IsRequired=false)]
		private UFIDA.U9.CBO.HR.Department.DepartmentData m_dept ;
		public UFIDA.U9.CBO.HR.Department.DepartmentData Dept
		{
			get	
			{	
				return m_dept ;
			}
			set	
			{	
				m_dept = value ;	
			}
		}
			
		

		/// <summary>
		/// 信用免检
		/// 快速出货单头.Misc.信用免检
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Boolean m_creditNoCheck ;
		public System.Boolean CreditNoCheck
		{
			get	
			{	
				return m_creditNoCheck ;
			}
			set	
			{	
				m_creditNoCheck = value ;	
			}
		}
			
		

		/// <summary>
		/// 门店单号
		/// 快速出货单头.Misc.门店单号
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.String m_mDDocNo ;
		public System.String MDDocNo
		{
			get	
			{	
				return m_mDDocNo ;
			}
			set	
			{	
				m_mDDocNo = value ;	
			}
		}
			
		

		/// <summary>
		/// 公司确认
		/// 快速出货单头.Misc.公司确认
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Boolean m_gSCheck ;
		public System.Boolean GSCheck
		{
			get	
			{	
				return m_gSCheck ;
			}
			set	
			{	
				m_gSCheck = value ;	
			}
		}
			
		

		/// <summary>
		/// 客户确认
		/// 快速出货单头.Misc.客户确认
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.Boolean m_kHCheck ;
		public System.Boolean KHCheck
		{
			get	
			{	
				return m_kHCheck ;
			}
			set	
			{	
				m_kHCheck = value ;	
			}
		}
			
		

		/// <summary>
		/// 订单说明
		/// 快速出货单头.Misc.订单说明
		/// </summary>
		[DataMember(IsRequired=false)]
		private System.String m_mDMemo ;
		public System.String MDMemo
		{
			get	
			{	
				return m_mDMemo ;
			}
			set	
			{	
				m_mDMemo = value ;	
			}
		}
			
		

		/// <summary>
		/// 行集合
		/// 快速出货单头.Misc.行集合
		/// </summary>
		[DataMember(IsRequired=false)]
		private List<UFIDA.U9.Cust.SH.SHFastShipSV.FastShipLineDTOData> m_lines ;
		public List<UFIDA.U9.Cust.SH.SHFastShipSV.FastShipLineDTOData> Lines
		{
			get	
			{	
				if (m_lines == null )
				{
					List<UFIDA.U9.Cust.SH.SHFastShipSV.FastShipLineDTOData> n_m_list = new List<UFIDA.U9.Cust.SH.SHFastShipSV.FastShipLineDTOData>() ;
					m_lines = n_m_list ;
				}
				return m_lines ;
			}
			set	
			{	
				m_lines = value ;	
			}
		}
			
		#endregion	

		#region Multi_Fields
																																						
		#endregion 
	} 	
}

	
